#ifndef _WINDOW_H_
#define _WINDOW_H_

#include "engine.h"
#include "scene.h"

namespace engine
{
    class IWindow
    {

    public:
        virtual bool create() = 0;  // 创建窗口
        virtual bool destory() = 0; // 删除窗口
        virtual void loop() = 0;    // 窗口循环

    protected:
        string title;      // 窗口标题
        int top, left;     // 窗口坐标
        int width, height; // 窗口大小

    public:
        // 获取窗口标题
        virtual std::string getTitle() = 0;
        // 设置窗口标题
        virtual void setTitle(std::string title) = 0;
        // 获取窗口宽度
        virtual int getWidth() = 0;
        // 获取窗口高度
        virtual int getHeight() = 0;
        // 设置窗口位置
        virtual void setPostion(int x, int y) = 0;
        // 设置窗口大小
        virtual void setSize(int width, int height) = 0;
    };
}
#endif